package com.ganzi.ganziserver.dao;

import com.ganzi.ganziserver.core.OtherInformation;
import com.ganzi.ganziserver.core.SchoolInformation;
import com.ganzi.ganziserver.core.TempSchool;
import com.ganzi.ganziserver.core.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import javax.validation.constraints.Null;
import java.math.BigInteger;
import java.util.List;

@Repository
public interface SchoolInformationDao {

    public List<SchoolInformation> findAllSchoolInformation() throws Exception;
    public List<Long> findAllSchoolId() throws Exception;
    public List<TempSchool> findAllSchoolForCollection(@Param("id") long id) throws Exception;
    public SchoolInformation findSchoolInformationBynumber(int number) throws Exception;
    public SchoolInformation findSchoolInformationById(long id) throws Exception;
    public Long findSchoolIdByQueue(String queue) throws Exception;
    public OtherInformation findSchoolQueueById(long id) throws Exception;
    public void insertSchoolInformation(SchoolInformation info) throws Exception;
    public void deleteSchoolInformation(long id) throws Exception;
    public void updateSchoolInformation(SchoolInformation info) throws Exception;
    public void updateSchoolForOnline(@Param("channelName") String channelName, @Param("state")int state) throws Exception;
    public Integer findSchoolOnlineById(long id) throws Exception;
    public void changeSchoolState(int state) throws Exception;

}
